package cn.newstrength.qiyiming.step;

import cn.newstrength.nsms.data.FileEntity;
import cn.newstrength.wtdf.web.exception.PAIException;
import cn.newstrength.wtdf.web.processor.Operation;
import cn.newstrength.wtdf.web.processor.OperationStep;
import cn.newstrength.wtdf.web.util.StepUtils;
import org.apache.commons.io.FilenameUtils;
//import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.http.MediaType;

import java.io.File;
import java.util.Map;

/**
 * 文件下载，这里只演示Step的下载能力，具体业务需要根据实际情况调整
 * @author Xd
 *
 */
public class DownloadStep implements OperationStep {

	@Override
	public int excute(Operation oper) throws PAIException {
		Map<String,Object> input = StepUtils.getInputValue(oper);
		String filepath = ObjectUtils.toString(input.get("filepath"));
		FileEntity entity = new FileEntity();
		File file = new File(filepath);
		entity.setFile(file);
		entity.setName("我是下载的文件名.".concat(FilenameUtils.getExtension(file.getName())));
		entity.setMediaType(MediaType.APPLICATION_OCTET_STREAM);//指定文件类型
		oper.setTranStepResult(0, "SUCC", entity);
		return 0;
	}
	@Override
	public int init(Map<String, String> param) {
		return 0;
	}

}
